#ifndef TEXT_H
#define TEXT_H

#include <string>
#include <GLee.h>

#include <FTGL/ftgl.h>

namespace GL
{

class Text
{
public:
    struct BBox
    {
        BBox()
        : minX(0.f), minY(0.f), minZ(0.f)
        , maxX(0.f), maxY(0.f), maxZ(0.f)
        {
        }

        float minX;
        float minY;
        float minZ;
        float maxX;
        float maxY;
        float maxZ;
    };
public:
    Text();
    ~Text();

    void setSize(const int size);
    void setText(const std::string& text);
    void setPosition(const float x, const float y);
    void render();
    void setColor(const int r, const int g, const int b, const int a = 255);
    BBox getBBox();

private:
    FTGLPolygonFont*   m_pFont;
    std::string        m_Text;
    float              m_Color[4];
    float              m_PosX;
    float              m_PosY;
};

}

#endif
